package com.inspectortime.domain;

import com.inspectortime.common.Identifiable;
import com.inspectortime.domain.type.Address;
import com.inspectortime.domain.type.FoundationType;
import com.inspectortime.domain.type.PropertyType;

/**
 * @author Owner
 * @version 1.0
 * @created 27-Nov-2007 7:40:35 AM
 */
public interface Property extends Identifiable {

	Address getLocation();

	/**
	 * 
	 * @param address
	 */
	void setLocation(Address address);

	String getCrossStreet();
	
	double getSquareFeet();
	
	void setSquareFeet(double squareFeet);

	void setCrossStreet(String street);

	String getSubdivisionName();

	void setSubdivisionName(String subdivision);

	PropertyType getType();

	void setType(PropertyType type);

	boolean isOccupied();

	void setOccupied(boolean occupied);

	FoundationType getFoundationType();

	void setFoundationType(FoundationType type);

	int getNumberOfStories();

	void setNumberOfStories(int stories);

	int getConstructionYear();

	void setConstructionYear(int year);

	float getListedPrice();

	void setListedPrice(float price);

	float getNumberOfBathrooms();

	void setNumberOfBathrooms(float number);

	int getNumberOfBedrooms();

	void setNumberOfBedrooms(int number);

	int getNumberOfAcUnits();

	void setNumberOfAcUnits(int number);

	PropertyType getPropertyType();
	
	String getOtherStructures();

	void setOtherStructures(String otherStructures);

}
